﻿// konwersja ze stopni na radiany
Math.radians = function (degrees) {
    return degrees * Math.PI / 180;
};

// konwersja z radianów na stopnie
Math.degrees = function (radians) {
    return radians * 180 / Math.PI;
};

// sprawdzenie czy w tablicy znajduje się dany element
Array.prototype.contains = function (obj) {
    var i = this.length;
    while (i--) {
        if (this[i] === obj) {
            return true;
        }
    }
    return false;
}

// sprawdzenie czy punkt nalezy do kola
function IsInCircle(x, y, centerX, centerY, radius) {
    if (Math.pow(x - centerX, 2) + Math.pow(y - centerY, 2) <= Math.pow(radius, 2)) {
        return true;
    }
    return false
}

// pobiera parametry srodka okregu
function getCircleCenter(x, y, dx, dy, direction, radius) {
    var z = Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2));
    if (direction === "right")
        dy *= -1;
    else if (direction === "left")
        dx *= -1;

    return circleCenter = {
        "x": x + dy / z * radius,
        "y": y + dx / z * radius
    };
}